package exercises.newcoder.util;

/**
 * @author or2
 * @Description 牛客网 - 树结点
 * @create 2021年09月14日 时间: 15:27
 */
public class TreeNode {
    public int val = 0;
    public TreeNode left = null;
    public TreeNode right = null;

    /**
     * leetcode 专享
     * @param val 结点的值
     * @param left 左孩子
     * @param right 有孩子
     */
    public TreeNode(int val, TreeNode left, TreeNode right) {
        this.val = val;
        this.left = left;
        this.right = right;
    }

    public TreeNode() {
    }

    public TreeNode(int val) {
        this.val = val;
    }

    /**
     * 计算当前结点为根的树的高度
     *
     * @param root 以当前结点为根
     * @return 该子树的高度
     */
    private int height(TreeNode root) {
        if (root == null) {
            return 0;
        }
        return Math.max(height(root.left), height(root.right)) + 1;
    }
}